package se.webbzon.boltzmann.input;

public interface InputListener {
	
	/*============================================================
	Public Methods
	============================================================*/
	
	/** This method is invoked when the user performs an input on the primary
	 * axis input. The direction will be in the range 0-2*pi and the value
	 * will be in the range 0.0-1.0.**/
	public void primaryAxisChanged(Input input, double direction, double value);
	
	/** This method is invoked when the user performs an input on the secondary
	 * axis input. The direction will be in the range 0-2*pi and the value
	 * will be in the range 0.0-1.0.**/
	public void secondaryAxisChanged(Input input, double direction, double value);
	
	/** This method is invoked when the user presses a button on the input. **/
	public void buttonPressed(Input input, Button button);
	
	/** This method is invoked when the user releases a button on the input. **/
	public void buttonReleased(Input input, Button button);
	
	/** This method is invoked when a button binding has been 
	 * accepted on the input. **/
	public void bindingAccepted(Input input, Button button);

}
